using System;
using System.Collections.Generic;
using System.Linq.Expressions;

namespace Randomize.Core.Constructors
{
    public interface IPropertyConstructor<TComplex>
    {
        void ConstructProperty(TComplex obj);
    }

    public interface IPropertyConstructor<TComplex, TProperty> : IPropertyConstructor<TComplex>
    {
        Expression<Func<TComplex, TProperty>> PropertyExpression { get; set; }

        Action<TComplex, TProperty> Setter { get; set; }
    }
}